package com.cm.sys.system.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.cm.sys.system.entity.Menu;

/**
 * @ClassNameMenuMappar
 * @Description
 * @Author WZC @Date2019/11/30 6:28
 * @Version V1.0
 **/
@Mapper
public interface MenuMapper {
    /**
     * 保存菜单
     * 
     * @param menu
     * @return
     */
    Integer insert(Menu menu);

    /**
     * 查询所有菜单
     * 
     * @return
     */
    List<Menu> selectAll();

    /**
     * 删除id
     * 
     * @param menuId
     * @return
     */
    Integer deleteByPrimaryKey(Integer menuId);

    /**
     * 根据id查询菜单
     * 
     * @param menuId
     * @return
     */
    Menu selectMenu(Integer id);

    /**
     * 修改菜单
     * 
     * @param menu
     * @return
     */
    Integer updateMenu(Menu menu);

    /**
     * 检查重复路由
     * 
     * @param route
     * @return
     */
    Integer selectRoute(String route);

    /**
     * 菜单名不能重复
     * 
     * @param parentName
     * @return
     */
    Integer selectParentName(String parentName);

    List<Menu> selectMenus(@Param("menuIds") List<Integer> menuIds);

    List<Menu> selectActivityMenus(Integer userId);

    List<Menu> selectRootMenu();

}
